Чтобы добавить объект к проекту ATL, Вы используете ATL Object Wizard. Нажмите New ATL Object из меню Insert.

Появиться ATL Object Wizard.

В окне ATL Object Wizard выбирают класс объекта который Вы хотите добавить к вашему текущему проекту. Здесь много вариантов выбора от базового COM объекта до объекта оптимизированного для работы в Internet Exploler. В этом учебнике Вы создадите стандартный элемент управления, так что устанавливаем слева категорию Controls, затем справа выбираем полный элемент управления. Далее нажимаем Next.
Отобразиться страница набора свойств которая позволяет вам конфигурировать элемент управления. Напечатайте "PolyCtl" как короткое имя. Другие поля будут автоматически заполнены.

Поле Class показывает имя C++ класса созданного чтобы реализовать элемент управления. .H File и .CPP File поля показывают созданные файлы которые содержат определение класса C++. CoClass - имя класса компонента для этого элемента управления. Interface - имя интерфейса используя который Ваш элемент управления выполнит заказные методы и реквизиты. Type - описание для элемента управления. ProgID - имя которое может использоваться чтобы искать CLSID элемента управления.
Теперь нужно дать возможность поддержки расширенных данных об ошибках и точек
соединения для Вашего элемента управления:
1.Перейдите на вкладку
Attributes.
2.Установите флажок Support
ISupportErrorInfo.
3.Установите флажок Support Connection Point.
Это создаст поддержку для интерфейса событий в IDL файле.

Вы будете использовать цвет в многоугольнике для того что бы его нарисовать,
для этого нужно добавить Fill Color свойство:
1. Выберите вкладку
Stock Properties.
2. Листайте список пока не найдете Fill
Color, потом дважды щелкните на нем чтобы переместить свойство в список
Supported.

Для того, что бы закончить выбирать опции для вашего элемента управления нажмите OK. Когда Вы создали ваш элемент управления, были произведены изменения в коде и добавлены файлы. Следующие файлы были созданы:
PolyCtl.h Содержит большинство реализации C++ класса CPolyCtl. PolyCtl.cpp Содержит остающиеся части CPolyCtl. PolyCtl.rgs Текстовый файл который содержит сценарий регистрации используемые для регистрации элемента управления в реестре. PolyCtl.htm HTML файл который содержит код Web страницы которая содержит ссылку на недавно созданный элемент управления. Вы можете ее посмотреть используя Internet Explorer.
Мастер также выполнил следующие изменения кода:
#include был
добавлен в файлы StdAfx.h и StdAfx.cpp чтобы включить файлы
ATL необходимые для элементов управления.
Сценарий регистрации в
реестер PolyCtl.rgs был добавлен в ресурсы проекта.
Polygon.idl
был изменен чтобы включить подробности нового элемента управления.
Новый
элемент управления был добавлен в объектную карту в Polygon.cpp
Файл
PolyCtl.h наиболее интересен потому что это содержит основной код,
который осуществляет ваш элемент управления.
Вы теперь готовы создать ваш элемент управления:
1.В меню Build
выберите Build Polygon.dll
2.Как только ваш элемент управления будет
сформирован, выберите ActiveX Control Test Container в меню Tools.
Test Container запущен.
3.В Test Container выберите Insert
New Control из меню Edit. Диалоговое окно Insert Control
появится.
4.Из списка доступных элементов управления в диалоговом окне
Insert Control, выберите класс PolyCtl.
Вы должны видеть прямоугольник с текстом "ATL 3.0: PolyCtl" в середине. Закройте Test Container.